package com.yc.music.inter;

import com.yc.music.model.AudioBean;

/**
 * 播放进度监听器
 *
 * @since 2021-05-12
 */
public interface OnPlayerEventListener {
    /**
     * 切换歌曲
     * 主要是切换歌曲的时候需要及时刷新界面信息
     *
     * @param music music
     */
    void onChange(AudioBean music);

    /**
     * 继续播放
     * 主要是切换歌曲的时候需要及时刷新界面信息，比如播放暂停按钮
     */
    void onPlayerStart();

    /**
     * 暂停播放
     * 主要是切换歌曲的时候需要及时刷新界面信息，比如播放暂停按钮
     */
    void onPlayerPause();

    /**
     * 更新进度
     * 主要是播放音乐或者拖动进度条时，需要更新进度
     *
     * @param progress progress
     */
    void onUpdateProgress(long progress);

    /**
     * 缓冲百分比
     *
     * @param percent percent
     */
    void onBufferingUpdate(int percent);

    /**
     * 更新定时停止播放时间
     *
     * @param remain remain
     */
    void onTimer(long remain);
}
